package com.zsrt.java.day20161227.lh.homework.demo04;

import java.util.Arrays;

import com.zsrt.java.day20161227.lh.homework.util.ArrayUtil;

/**
 * 
 * 已知：斗地主    54张牌     3*17  3张底牌  
 * 		
 * 求：wanjia01  牌是什么
 * 	   wanjia02 	 
 * 	   wanjia03 
 * 		底牌            牌是什么
 * 
 * 思路：
 * 	1.牌一个数组 
 * 	2.三个玩家 用随机数发牌，组成三个新数组，遍历数组
 *	3.底牌   数组剩下的牌
 * @author My
 *
 */

public class DouDiZhu {
	
	
	public static void main(String[] args) {
		String[] pai=null;
		String[] xz={"黑","桃","梅","方"};
		String[] sz={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
		String st="";
		String[] wanjia=new String[17];
	
		//生成牌
		pai = shengChengPai(xz, sz);
		
		//玩家
		pai = faPai(pai, wanjia);
		
		//底牌
		System.out.println("底牌："+Arrays.toString(pai));
	}


	/**
	 * 发牌
	 * @param pai 牌组
	 * @param wanjia 玩家牌组
	 * @return 玩家牌
	 */
	private static String[] faPai(String[] pai, String[] wanjia) {
			
		int r=0;
		for(int j=0;j<3;j++ ){
			for(int i=0;i<17;i++){
				double ran=Math.random()*(54-r-i);
				int random=(int)Math.floor(ran);
				wanjia[i]=pai[random];
				pai=ArrayUtil.deleteArray(pai, pai[random]);
			}
			System.out.println("wanjia"+j+"的牌："+Arrays.toString(wanjia));
			//跳出循环
			r=r+17;
			if(r>34){
				break;
			}
		}
		return pai;
	}
	

	/**
	 * 生成牌
	 * @param xz  花色
	 * @param sz  数字
	 * @return 	生成牌
	 */
	private static String[] shengChengPai(String[] xz, String[] sz) {
		String[] pai;
		String st;
		StringBuffer sf=new StringBuffer();
		//生成牌
		for(int i=0;i<4;i++){
			String stb=xz[i];
			for(int j=0;j<13;j++){
				st=stb+sz[j]+",";
			    sf.append(st);
			}
		}
		sf.append("小鬼,大鬼");
		pai=sf.toString().split(",");
		return pai;
	}
	
	
			
				
			
}
